Recommendation of television content

ABSTRACT

A method for recommending television content is provided, including the following operations: identifying available television channels for a television device; determining a current date and time; identifying a plurality of content items broadcast on the available television channels at approximately the current date and time; determining a device profile associated with the television device, the device profile being time-dependent; determining recommended content items from the plurality of content items based on the device profile of the television device.

CLAIM OF PRIORITY

The present application claims priority to U.S. application Ser. No.13/075,149, filed Mar. 29, 2011, entitled “METHODS AND SYSTEMS FORAPPLICATION RENDERING AN MANAGEMENT ON INTERNET TELEVISION ENABLEDDISPLAYS,” which claims priority to U.S. Provisional Patent ApplicationNo. 61/320,685, filed Apr. 2, 2010, entitled “METHODS AND SYSTEMS FORDISPLAY DEVICE WIDGET ACCESS AND MANAGEMENT.” The present applicationalso claims priority to U.S. application Ser. No. 12/982,811, filed Dec.30, 2010, entitled “ENTERTAINMENT COMPANION CONTENT APPLICATION FORINTERACTING WITH TELEVISION CONTENT,” and to U.S. application Ser. No.13/220,654, filed Aug. 29, 2011, entitled “ENTERTAINMENT CONTENTRENDERING APPLICATION,” and to U.S. application Ser. No. 12/977,643,filed Dec. 23, 2010, entitled “SIGNAL-DRIVEN INTERACTIVE TELEVISION.”The disclosures of these applications are herein incorporated byreference in their entirety for all purposes.

RELATED APPLICATIONS

The present application is related to U.S. application Ser. No.14/069,277, filed the same day as the present application, entitled“CROSS-PLATFORM INTERFACE FOR A TELEVISION DEVICE,” which is hereinincorporated by reference in its entirety for all purposes.

BACKGROUND

1. Field of the Invention

The present invention relates to methods and systems for recommendingtelevision content.

2. Description of the Related Art

In recent years, the range of content that can be viewed on televisiondevices has greatly expanded. For example, linear television programmingcan be available through an over-the-air (OTA) antenna signal, directcable signal, a cable/satellite box or other set top box, or otherdevice. Users also have access to various sources of on-demand videocontent. For example, a signal carrier may make on-demand contentavailable through a set top box. Other on-demand providers may maketheir on-demand content available through an application which executeson the television itself or on another device that is connected to thetelevision, such as a game console or other computing device supportingits application. Such applications may communicate over the Internet tosend and receive data. Additionally, televisions and their associateddevices may be configured to access web content over the Internet, whichcan include web videos, web pages, etc. However, the increasingdiversity and quantity of content available for viewing on a televisionmakes it more difficult for a user to decide what to watch at any givenmoment.

It is in this context that embodiments of the invention arise.

SUMMARY

Broadly speaking, embodiments of the present invention provide methodsand systems for recommending television content. Several inventiveembodiments of the present invention are described below.

In one embodiment, a system is provided, comprising: a television,including a receiver capable of receiving a plurality of channels, eachchannel providing a plurality of television content items; anon-transitory memory connected to the television, including: a deviceprofile associated with the television; and program logic, including aclock supplying a date and time; a recommendation engine that receivesthe date and time and the device profile and generates in response arecommendation of at least one television content item.

In one embodiment, the device profile defines a schedule of contentpreferences; the recommendation engine determines current contentpreferences as defined by the schedule of content preferences for thedate and time, and identifies ones of the plurality of televisioncontent items matching the current content preferences.

In one embodiment, the schedule of content preferences defines acyclical timeline of preference values for each of a plurality ofcontent categories.

In one embodiment, the device profile defines an association between apreferred content category and both a day of the week and a time of day.

In one embodiment, the recommendation engine identifies an elapsedamount of each of the plurality of content items that is already inprogress, and determines whether the elapsed amount exceeds a predefinedrelevance threshold.

In one embodiment, the recommendation engine identifies an elapsedamount of each of the plurality of content items that is already inprogress, and determines a relevance factor based on the elapsed amount.

In one embodiment, the non-transitory memory further includes a userprofile associated to the user of the television device; wherein therecommendation engine receives the user profile and generates therecommendation in response.

In one embodiment, the user profile is defined based on internetactivity associated with the user.

In one embodiment, the program logic further includes a device profilegenerator that receives samples of content rendered on the televisiondevice, analyzes the samples to identify watched content itemsassociated with the television device, and generates the device profilebased on the watched content items.

In one embodiment, the samples are defined by audio portions from thecontent rendered on the television device; wherein the device profilegenerator analyzes the audio portions to identify the watched contentitems associated with the television device.

In one embodiment, the device profile identifies the plurality ofchannels.

In one embodiment, the recommendation engine transmits therecommendation of at least one television content item to an applicationconfigured for execution on the television device, the application beingunaffiliated with a service provider that provides the televisionchannels to the television device.

In another embodiment, a method for recommending television content isprovided, comprising: identifying available television channels for atelevision device; determining a current date and time; identifying aplurality of content items broadcast on the available televisionchannels at approximately the current date and time; determining adevice profile associated with the television device, the device profilebeing time-dependent; determining recommended content items from theplurality of content items based on the device profile of the televisiondevice; wherein the method is executed by at least one processor.

In one embodiment, the device profile defines a schedule of contentpreferences; determining recommended content items includes determiningcurrent content preferences as defined by the schedule of contentpreferences for the current date and time, and identifying ones of theplurality of content items matching the current content preferences.

In one embodiment, the schedule of content preferences defines acyclical timeline of preference values for each of a plurality ofcontent categories.

In one embodiment, the device profile defines an association between apreferred content category and both a day of the week and a time of day.

In one embodiment, determining recommended content items includesidentifying an elapsed amount of each of the plurality of content itemsthat is already in progress, and determining whether the elapsed amountexceeds a predefined relevance threshold.

In one embodiment, determining recommended content items includesidentifying an elapsed amount of each of the plurality of content itemsthat is already in progress, and determining a relevance factor based onthe elapsed amount.

In one embodiment, the method further comprises: identifying a user ofthe television device; retrieving a user profile associated to the userof the television device; wherein determining recommended content itemsis based on the user profile.

In one embodiment, the user profile is defined based on internetactivity associated with the user.

In one embodiment, the method further comprises: receiving samples ofcontent rendered on the television device; analyzing the samples toidentify watched content items associated with the television device;generating the device profile based on the watched content items.

In one embodiment, the samples are defined by audio portions from thecontent rendered on the television device; wherein analyzing the samplesincludes analyzing the audio portions to identify the watched contentitems associated with the television device.

In one embodiment, the method further comprises: determining theavailable television channels based on the watched content items.

In one embodiment, the recommendations are provided to an applicationconfigured for execution on the television device, the application beingunaffiliated with a service provider that provides the televisionchannels to the television device.

Other aspects of the invention will become apparent from the followingdetailed description, taken in conjunction with the accompanyingdrawings, illustrating by way of example the principles of theinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention may best be understood by reference to the followingdescription taken in conjunction with the accompanying drawings inwhich:

FIG. 1 conceptually illustrates a recommendation engine configured torecommend content for viewing on a television device, in accordance withan embodiment of the invention.

FIG. 2 illustrates a chart showing various kinds of content items viewedon a television device during an exemplary week, in accordance with anembodiment of the invention.

FIG. 3 illustrates a graph showing content preference weights over time,in accordance with an embodiment of the invention.

FIG. 4A conceptually illustrates a relevance threshold range for a dramaprogram, in accordance with an embodiment of the invention.

FIG. 4B conceptually illustrates a relevance threshold range for a gameshow, in accordance with an embodiment of the invention.

FIG. 4C conceptually illustrates various periods of relevance andnon-relevance for a sports program, in accordance with an embodiment ofthe invention.

FIG. 5A illustrates a graph showing relevance weighting versus elapsedtime for a linear television program, in accordance with an embodimentof the invention.

FIG. 5B illustrates a graph showing relevance weighting versus elapsedtime for a linear television broadcast of a sporting event, inaccordance with an embodiment of the invention.

FIG. 6 illustrates a method for recommending television content for atelevision device, in accordance with an embodiment of the invention.

FIG. 7 conceptually illustrates a system for providing televisioncontent recommendations, in accordance with an embodiment of theinvention.

FIG. 8 illustrates a system for recommending content for viewing on atelevision device, in accordance with an embodiment of the invention.

FIG. 9A illustrates a system for recommending content for viewing on atelevision device, in accordance with an embodiment of the invention.

FIG. 9B illustrates a system for recommending content for viewing on atelevision, in accordance with an embodiment of the invention.

FIG. 10 conceptually illustrates a method for presenting contentrecommendations to a viewer of a television device, in accordance withan embodiment of the invention.

FIG. 11A illustrates an interface displaying recommended content itemsfor viewing on a television device, in accordance with an embodiment ofthe invention.

FIG. 11B illustrates a second page of the interface of FIG. 11A,displaying additional recommended content items for viewing on thetelevision device, in accordance with an embodiment of the invention.

FIG. 12A illustrates presentation of supplemental content related tocurrently displayed content on a television, in accordance with anembodiment of the invention.

FIG. 12B illustrates the result of selection of the highlighted portionof FIG. 12A, in accordance with an embodiment of the invention.

FIG. 13 illustrates scores from various baseball games displayed duringa baseball game, in accordance with an embodiment of the invention.

FIG. 14A illustrates social media information displayed in relation tocontent currently displayed on a television, in accordance with anembodiment of the invention.

FIG. 14B illustrates an expanded view of social media posts, inaccordance with an embodiment of the invention.

FIG. 15A illustrates a singing competition television program that isdisplayed on a television with related supplemental content, inaccordance with an embodiment of the invention.

FIG. 15B illustrates an expanded panel providing options for a viewer toobtain a song, in accordance with an embodiment of the invention.

FIG. 15C illustrates an expanded panel revealing additional detailedinformation relating to a headline, in accordance with an embodiment ofthe invention.

FIG. 16A illustrates supplemental content displayed in conjunction witha television program, in accordance with an embodiment of the invention.

FIG. 16B illustrates a full-screen interface providing access to variouscontent that is rendered on a television, in accordance with anembodiment of the invention.

FIG. 17 illustrates an embodiment of a general computer system, inaccordance with an embodiment of the invention.

DETAILED DESCRIPTION

The following embodiments describe systems and methods for recommendingtelevision content. It will be obvious, however, to one skilled in theart, that the present invention may be practiced without some or all ofthese specific details. In other instances, well known processoperations have not been described in detail in order not tounnecessarily obscure the present invention.

Subject matter will now be described more fully hereinafter withreference to the accompanying drawings, which form a part hereof, andwhich show, by way of illustration, specific example embodiments.Subject matter may, however, be embodied in a variety of different formsand, therefore, covered or claimed subject matter is intended to beconstrued as not being limited to any example embodiments set forthherein; example embodiments are provided merely to be illustrative.Likewise, a reasonably broad scope for claimed or covered subject matteris intended. Among other things, for example, subject matter may beembodied as methods, devices, components, or systems. Accordingly,embodiments may, for example, take the form of hardware, software,firmware or any combination thereof (other than software per se). Thefollowing detailed description is, therefore, not intended to be takenin a limiting sense.

Throughout the specification and claims, terms may have nuanced meaningssuggested or implied in context beyond an explicitly stated meaning.Likewise, the phrase “in one embodiment” as used herein does notnecessarily refer to the same embodiment and the phrase “in anotherembodiment” as used herein does not necessarily refer to a differentembodiment. It is intended, for example, that claimed subject matterinclude combinations of example embodiments in whole or in part.

In general, terminology may be understood at least in part from usage incontext. For example, terms, such as “and”, “or”, or “and/or,” as usedherein may include a variety of meanings that may depend at least inpart upon the context in which such terms are used. Typically, “or” ifused to associate a list, such as A, B or C, is intended to mean A, B,and C, here used in the inclusive sense, as well as A, B or C, here usedin the exclusive sense. In addition, the term “one or more” as usedherein, depending at least in part upon context, may be used to describeany feature, structure, or characteristic in a singular sense or may beused to describe combinations of features, structures or characteristicsin a plural sense. Similarly, terms, such as “a,” “an,” or “the,” again,may be understood to convey a singular usage or to convey a pluralusage, depending at least in part upon context. In addition, the term“based on” may be understood as not necessarily intended to convey anexclusive set of factors and may, instead, allow for existence ofadditional factors not necessarily expressly described, again, dependingat least in part on context.

Throughout the present disclosure, reference will be made to a“television” or “television device,” such terms being usedinterchangeably. A television device shall be broadly construed todefine a singular device or a combination of connected devices having ata minimum a display configured to render video content for consumptionby a viewer. A television device generally includes a tuner or decodercapable of tuning or decoding television content signals in order toaccess programming that is transmitted over channels defined by thetelevision content signals. While in some embodiments, theaforementioned hardware is included within the form factor of a singulardevice, in other embodiments such hardware may be defined by two or moredevices that are connected to each other. It should be appreciated thatvarious communication interfaces between such devices may includevarious digital or analog connections, including component video/audio,coaxial, USB, HDMI, Cat5/6, Toslink, XLR, RCA, BNC, etc. In someembodiments, such devices may be wirelessly connected to each other,employing any of various wireless communication technologies, such asIEEE 802.11, IR, Bluetooth, etc. A television device may additionallyinclude memory and a processor, which may be configured to store andexecute program instructions. A television device can be configured toexecute one or more applications which may provide various kinds offunctionality and features, as described in further detail herein.

FIG. 1 conceptually illustrates a recommendation engine configured torecommend content for viewing on a television device, in accordance withan embodiment of the invention. Broadly speaking, the recommendationengine 100 is configured to evaluate currently available content basedon various factors, and generate recommendations from the availablecontent for viewing. In the illustrated embodiment, the recommendationengine 100 determines recommended content 102 for recommendation to auser, and which may be presented through a cross-platform interface 104to the user.

It will be appreciated that various kinds of content can be availablefor viewing on a television device. By way of example, broadcast content106 can include any type of linear television content being currentlybroadcast for viewing. Linear television content is broadcast in atime-sensitive manner on various television channels, and will beunderstood to encompass both publicly available television content, suchas is broadcast on over-the-air (OTA) channels, as well as contentrequiring paid subscription, such as that which may be broadcast oncable/satellite television channels or Internet broadcast channels.

On-demand content 108 includes various kinds of content which can becued for viewing at will by the user at a time of their choosing. Someon-demand content may be provided by a cable/satellite provider as apart of a subscription package to their content service. On-demandcontent may be available for limited time periods as specified by theprovider. On-demand content may also include content made available forviewing through third-party applications which may execute on atelevision or on a device connected to the television, such as a set topbox, gaming console, blu-ray/dvd player, etc. Such on-demand contentproviders are typically characterized as streaming video services, ofwhich examples include Netflix®, Hulu™, Amazon Instant Video™, and thelike.

Internet content 110 includes content that is generally available overthe internet, such as web videos, articles, images, and other kinds ofcontent. Internet content is typically accessible through a web browser,which can be a standalone application or may be embedded within anotherapplication. In the context of a television viewing experience, it willbe appreciated that Internet content may be presented through anapplication executing on the television which includes a browserfunctionality to access such Internet content.

The aforementioned types of content are provided by way of example only,and not by way of limitation. It will be appreciated that various otherkinds or classifications of content can be available for viewing on atelevision device, and that such content can be evaluated in accordancewith the embodiments described herein to provide recommendations to aviewer. For example, in one embodiment, locally recorded content (e.g.recorded on a DVR or set top box) may be available for viewing and maybe evaluated for recommendation purposes.

As noted, the recommendation engine 100 determines recommended content102 from the available content based on various factors. One factor isthe device viewing history 112. The device viewing history 112identifies what content has been viewed on a specific television deviceand what times such content was viewed. Methods and systems foridentifying content that is viewed on a television are described infurther detail with reference to U.S. application Ser. No. 12/977,643,filed Dec. 23, 2010, entitled “SIGNAL-DRIVEN INTERACTIVE TELEVISION,”the disclosure of which is incorporated by reference herein. It shouldbe understood that the device viewing history 112 is specific to a giventelevision device, and such viewing history may or may not also beassociated with a specific user, as the user of a television device mayor may not be identified, though the content displayed on the televisionis identified. The device viewing history 112 can be analyzed todetermine what kinds of content are available for viewing on atelevision device. For example, if it is determined that no content froma particular channel is displayed on the television, then it might alsobe inferred that the television does not have access to the particularchannel. However, if a plurality of channels are known to be provided incombination with each other (e.g. via a subscription package), thendevice viewing history which includes content from one or more of theplurality of channels might indicate that all of the plurality ofchannels are available for viewing on the television device.

Another factor that can be considered by the recommendation engine 100is the user viewing history 114, which identifies content viewed by aspecific user and the times such content was viewed. The user viewinghistory can identify content viewed on a single television device ormultiple television devices, provided the content is viewed by aspecific user.

Another factor for consideration by the recommendation engine is theuser internet activity 116, which identifies the browsing activity of auser on internet websites, such as the Yahoo! web portal and otherInternet sites and sources. It will be appreciated that the userinternet activity may encompass activity on various websites and webpages. Such internet activity can be analyzed to determine a profile ofa user which may identify interests, preferences, or other informationabout a user based on the user's internet activity.

Another factor that may be evaluated by the recommendation engine 100 ispopular content 118. Popular content 118 identifies content that hasbeen determined to be popular based on some metric, such as ratings,viewership, likes, dislikes, thumbs up, thumbs down, comments, sharingprofiles, postings to social networks, conversations with friends, andthe number or quantity of such activities, and combinations of two ormore thereof, etc. Popular content may also be identified according todemographic characteristics, such as geography, characteristics of theuser (such as may be defined by the aforementioned user profile), etc.In addition, it is noted that real-time popular content can beidentified, that is, content which is popular among viewers at thepresent moment in time. This can be determined based on real-timeidentification of content that viewers are presently watching.

Yet another factor which may be considered by the recommendation engine100 is social network activity 120, which defines activity on a socialnetwork that is associated with a given user. Such activity can includeactivity by the user on the social network, as well as activity byfriends or others that are connected to the user on the social network.Social network activity can include posts to the social network,comments in response to posts, identification of others that the user isfollowing, apps installed for the user's account, pictures, videos,links, etc.

Another factor for consideration by the recommendation engine iseditorial information 122, which may include information defined byeditors to influence the recommendation engine's processing to identifyrecommended content. For example, editorial information 122 may define afeatured content item that is to be recommended. This enables editors tostrategically define recommended content to television viewers. Invarious embodiments, the featured content item might be recommended forall devices/users, or for some devices/users meeting certain predefinedcriteria (e.g. devices/users in a specific market/geographic location,devices/users having a certain profile, etc.). If the featured contentitem is a linear television program, then the content item might only berecommended if it is currently being broadcast. Of if the featuredcontent item is an on-demand or Internet content item, then it may berecommended at any time, or during specified time periods (e.g. certaintimes of day).

FIG. 2 illustrates a chart showing various kinds of content items viewedon a television device during an exemplary week (or time period), inaccordance with an embodiment of the invention. The provided chart ispresented for purposes of explanation and demonstration of principles inaccordance with embodiments of the invention. Throughout the presentdisclosure, reference is made to content being watched or viewed on atelevision device. It will be appreciated that this is synonymous withsuch content being rendered, displayed, or otherwise presented on thetelevision device. As shown with reference to FIG. 2, on Sunday,professional football is viewed on the television from 12 pm to 4 pm; adrama program is viewed from 9 pm to 10 pm; and a news program is viewedfrom 10 pm to 11 pm. On Monday through Friday, a news program is viewedfrom 7 to 8 am; and cartoons are viewed from 3 to 4 pm. On Monday,Tuesday, and Wednesday, a talk show is viewed from 9 to 10 am. OneTuesday and Thursday, from 11 am to 12 pm, an exercise program isviewed. On Monday evening, a reality show is viewed from 8 to 9 pm. OnTuesday evening, a sitcom is viewed from 7 to 8 pm, and a game show isviewed from 8 to 9 pm. On Wednesday at 10 to 11 am, a cooking show isviewed; and from 9 to 10 pm, a reality show is watched. On Thursdayevening, drama programs are viewed from 8 to 10 pm. On Friday evening, amovie is watched from 9 to 11 pm. On Saturday morning from 8 to 10 am,cartoons are viewed; college football is viewed from 12 to 3 pm; and amovie is viewed from 9 to 11 pm.

The chart shown at FIG. 2 is representative of a given week oftelevision content viewing for a specific television device. Byanalyzing the content presented on the television device and the timesat which such content is presented, a time-dependent device profile canbe determined which identifies content or types of content that aredisplayed on the television device and the times at which such contentis likely to be viewed. Thus, the device profile may define a scheduleof content preferences, so that for a given time and date, the schedulemay identify a type of content or a specific content item that is likelyto be preferred at that time and date. Throughout the presentspecification, reference will be made to “time-dependent” items orinformation such as a time-dependent profile or time-dependentpreferences. A time-dependent item is one which defines values purely asa function of time. That is, the time-dependent item defines values forvarious times. This may also be characterized as a variable whose valueis defined as a function of time, or is defined for each unit of time.The concept is to be distinguished from items which are simply updatedover the course of time, such that the item can be said to change overtime. For such updating does not define the item based on the time, butrather on conditions which happen to exist at the time the updating isperformed. By contrast, a time-dependent item, as defined herein,defines a relationship between a variable and time, with the value ofthe variable being defined as a function time.

Thus, by way of example, with continued reference to the schedule shownat FIG. 2, it may be determined that a news program is viewed from 7 to8 am, Monday through Friday. Therefore, the device profile associatedwith the television device may define a preference for a specific newsprogram or for news programming in general during these times.Similarly, the device profile may define a preference for cartoons from3 to 4 pm, Monday through Friday, as well as 8 to 10 am, on Saturday, asit is determined that cartoons are watched on the television duringthese times. For Friday and Saturday evenings, the device profile maydefine a preference for movies, as movies tend to be watched on thetelevision device during these times. As can be seen, the device profileis time-dependent, and not only identifies content or content typeswhich are preferred, but also when such content is preferred for viewingon a specific television device for which the device profile is defined.Based on such a device profile, a recommendation engine may recommendcontent at a current time and date based on prior content viewingpatterns for a similar time slot (e.g. similar time of day, day of week,season, etc.).

With continued reference to FIG. 2, other examples of time-dependentpreferences defined for the device profile associated with thetelevision device can be determined. For example, it may be determinedthat on Saturday from 12 to 3 pm, during college football season, theremay be a preference for watching college football. Therefore, the deviceprofile will define such a preference, and the recommendation enginewill recommend college football on Saturdays from 12 to 3 pm duringcollege football season. Additionally, it may be determined fromanalyzing the viewing history that there is not only a preference forcollege football, but a preference for watching a specific team's games.Therefore, the device profile may define a preference for the specificteam, and the recommendation engine utilizing the device profile mayrecommend the specific team's football games when available, andpossibly other types of sports from the same college when available. Ina similar manner, the device profile might define a preference forwatching professional football on Sundays between 12 and 4 pm.Accordingly, the recommendation engine utilizing the device profile maytend to recommend professional football on Sundays between 12 and 4 pm.Furthermore, the device profile may define a preference for a specificprofessional football team, thereby resulting in the specificprofessional football team's games being prioritized for recommendation.

With continued reference to FIG. 2, analysis of the viewing historyassociated with the television device may reveal a preference forreality television shows on Monday and Wednesday nights, and thereforethe device profile may define a preference for reality television showson these nights of the week. It will be appreciated that the deviceprofile may also define a preference for one or more specific realitytelevision shows which have been determined to be watched on thetelevision device. Similarly, it may be determined that dramas tend tobe watched on the television on Sunday and Thursday nights, andtherefore, the device profile may define a preference for dramas and/orspecific drama shows on Sunday and Thursday nights. The recommendationengine may therefore tend to recommend dramas on Sunday and Thursdaynights based on the device profile's settings.

The foregoing examples of preferences defined by a device profile areprovided by way of example only, and are intended to be merelyrepresentative of some types of time-dependent preferences which may bedefined by a device profile. It will be appreciated that there arenumerous kinds of programing or content available for viewing on a giventelevision device, and that all such content can be classified and atime-dependent preference for such content can be defined in a deviceprofile based on analysis of the viewing history of content on thetelevision device. Merely by way of example, a given content item can beclassified by genre (e.g. comedy, drama, news, sports, action, honor,reality, game, cartoon, documentary, science fiction, etc.), an actor, awriter, a director, a channel on which it is broadcast, a targetaudience (e.g. age, gender, etc.), language, length (running time), dateof original airing or release, subject matter, character type, agerating, or any other descriptive aspect of content that may be viewed ona television device. Thus, analysis of viewing history which reveals apreference for a particular content item, such as a particular show ormovie may define a preference for any associated descriptive aspectwhich applies to the particular content item. For example, if apreference for the television show “Friends” is determined to exist,then preferences for various descriptive aspects of “Friends” may alsobe defined in a device profile, such as preferences for situationcomedies, shows from a similar time period (the years 1994 to 2004),content featuring any of the primary actors (e.g. Jennifer Aniston,Courteney Cox, Matthew Perry, Lisa Kudrow, etc.), content having asetting in New York City, etc. Furthermore, such preferences may bedefined in a time-dependent manner so as to be associated with thespecific times at which “Friends” tends to be watched on the televisiondevice.

It will be appreciated that the device profile can be independent of anidentified user, as the device profile is associated to a specifictelevision device. Even if there are multiple users of a specifictelevision device, it is possible according to principles in accordancewith the present disclosure to provide seemingly user-specific contentrecommendations without actually identifying a specific user of atelevision device. Indeed, identification of a specific user of atelevision device may be impractical or difficult, as there are oftenmultiple users of a single television device with varied interests.However, since a given one of the multiple users is likely to watchcontent on the television device in a recurring manner that can bedefined by a cyclical schedule, then by ascertaining a cyclical scheduleof content preferences for the specific television device, it ispossible to provide content recommendations that are specific to each ofthe multiple users.

It will be appreciated that a time-dependent device profile can bedefined in various ways without departing from the scope of the presentdisclosure. In some embodiments, a device profile may define variouspreference weights over time. FIG. 3 illustrates a graph showing contentpreference weights over time, in accordance with an embodiment of theinvention. Various content preference weights are shown as determinedbased on the exemplary cyclical viewing schedule described at FIG. 2 forSaturday. As cartoons tend to be viewed from 8 to 10 am on Saturdays,then the device profile may define an increased weighting for cartoonsor kids programming on Saturday mornings. Similarly, as college footballtends to be viewed on Saturdays between 12 and 3 pm, then the deviceprofile may define an increased weighting for sports on Saturdayafternoons. And as movies tend to be viewed between 9 and 11 pm onSaturdays, then the device profile may define an increased weighting formovies on Saturday evenings. Such weights as are defined by the deviceprofile can be applied to evaluate content for viewing. Thus, forexample, if the current time/date is some time on a Saturday morning,then as the weighting for cartoons and kids programming is high duringthis time, whereas the weighting for other programming types is lowduring this time, then the recommendation engine will evaluate availablecontent and apply a greater weighting to cartoons and kids programmingthan other types of content, with the result being that cartoons andkids programming will tend to be provided as recommendation results onSaturday mornings.

When a linear television program is in progress, a user may beinterested in such a program to various degrees depending upon the typeof content being broadcast and the amount of the television program thathas already elapsed. For example, it may be the case that the longer aprogram is in progress, then the less likely it becomes that a user willwatch the remainder of the program. This may be due to increasingdifficulty of understanding a program the longer it is in progress.Therefore, a relevance threshold can be defined for a given type ofcontent which defines an amount of the content that has elapsed afterwhich the content will no longer be considered relevant for purposes ofrecommendation.

FIG. 4A conceptually illustrates a relevance threshold range for a dramaprogram, in accordance with an embodiment of the invention. The entireduration of a given episode of a drama program is graphicallyrepresented by the bar 400. By way of example, a relevance threshold ofbetween 20% and 50% may be defined for the drama program. That is, ifthe relevance threshold is defined at 20%, then after 20% of the dramaprogram is over, the drama program is no longer considered relevant forpurposes of recommendation, and will therefore not be recommended forviewing. The relevance threshold range may establish an overall rangefor the program, whereas the specific threshold value defined for agiven television device or user at any given moment in time may dependon various factors. For example, the relevance threshold may be higherfor a television on which the program is regularly watched versus atelevision on which the program is watched less regularly or not at all.If a user is identified, then similarly, the relevance threshold of auser who regularly views the program may be higher than the relevancethreshold of a user who views the program less regularly or not at all.

The specific threshold may also depend upon time-dependent contentpreferences as discussed herein, such that a higher threshold will bedefined for content having a higher weighting (or that is otherwisedefined to be preferred) at the current date and time versus other timeswhen the content may have a lower weighting. In this manner, therelevance threshold will also vary over time. For example, withreference again to the viewing schedule described at FIG. 2, it may bedetermined that drama programs are preferred on Sunday and Thursdaynights, and therefore the relevance threshold for drama programs will bedefined at a higher values on Sunday and Thursday nights than on othernights of the week.

It should be appreciated that different types of content may havedifferent relevance thresholds or relevance threshold ranges defined, asthe difficulty of following a program that is already in progress mayvary from one genre or specific content item to the next. For example,FIG. 4B conceptually illustrates a relevance threshold range for a gameshow, in accordance with an embodiment of the invention. The duration ofan episode of the game show is graphically represented by the bar 402.In one embodiment, the relevance threshold for the game show rangesbetween 30% and 60% of the duration of the game show. The relevancethreshold (and threshold range) for the game show may be higher thanthat of the drama program because the drama program may have a morelinear storyline that renders it more difficult to follow for a givenfraction that has elapsed versus a game show.

In another embodiment, various periods of relevance and non-relevancemay be defined for a linear television program for purposes ofevaluating it for recommendation. The concept is related to therelevance threshold previously discussed, but also allows for greaterflexibility. For example, having a relevance threshold set to 50% wouldbe equivalent to designating the first half of a program as relevant andthe second half of the program as non-relevant. Thus, if at the currenttime, the program is in progress at a point which lies within the firsthalf of the program, then the program is considered relevant forpurposes of recommendation; whereas if at the current time, the programis in progress at a point that lies within the second half of theprogram, then the program is considered not relevant for purposes ofrecommendation. It will be appreciated that a given linear televisionprogram may have multiple periods of relevance or non-relevance defined.

For example, FIG. 4C conceptually illustrates various periods ofrelevance and non-relevance for a sports program, in accordance with anembodiment of the invention. The entire duration of the sports programis graphically represented by the bar 404, and may include two periodsof play (a first half and a second half), a halftime show definedbetween the periods of play, and a post-game show defined after thesecond period of play. In the illustrated embodiment, the periods 406and 410 corresponding to the first half and second half, respectively,are defined to be relevant for recommendation, whereas the periods 408and 412, corresponding to the halftime show and the post-game show,respectively, are defined to be non-relevant for recommendation.Therefore, if at the current time, either of the first or second half iscurrently in progress, then the sports program may be consideredrelevant for recommendation (and may therefore be recommended forviewing), whereas if at the current time either of the halftime show orthe post-game show are currently in progress, then the sports program isconsidered to be not relevant for recommendation (and will therefore notbe recommended for viewing).

It should be appreciated that a given television program may have anynumber of periods of relevance and non-relevance associated therewith,each of any specific duration, and being arranged in any fashion, so asto correspond time periods during the airing of a program for which aviewer may be likely to be interested or disinterested in viewing theprogram (i.e. during periods of relevance a viewer may be more likely tobe interested in viewing the program, whereas during periods ofnon-relevance a viewer may be less likely to be interested in viewingthe program). Furthermore, the periods of relevance or non-relevance maybe determined in part based on recurring cyclical viewing patterns andpreferences as are discussed elsewhere herein.

In a related embodiment, a relevance weighting can be defined for agiven linear television program, and the relevance weighting may vary asa function of the elapsed time of the program. The relevance weightingcan be applied to evaluate currently in-progress programming forpurposes of recommendation. By way of example, FIG. 5A illustrates agraph showing relevance weighting versus elapsed time for a lineartelevision program, in accordance with an embodiment of the invention. Acurve 500 defines the relevance weighting for the television program asa function of elapsed time that may be applied for a given televisiondevice or user. In the illustrated embodiment, the curve 500 isconstructed so that the relevance weighting declines less rapidly as afunction of time during an earlier portion of the program, but therelevance weighting declines more rapidly as a function of elapsed timeduring a later portion of the program. The relevance weighting declinesto a minimum value after a certain elapsed time is reached, therelevance weighting thereby being equal to the minimum value for theremaining duration of the program. The curve 502 defines the relevanceweighting as a function of elapsed time that may be applied for atelevision device or user that is determined to have a greaterpreference for the program than that represented by curve 500. As can beseen, the curve 502 is constructed so as to exhibit a higher relevanceweighting for a given elapsed time than the curve 500, until therelevance weighting also declines to the minimum value. However, theelapsed time at which the relevance weighting declines to the minimumvalue is greater for the curve 502 than the curve 500.

FIG. 5B illustrates a graph showing relevance weighting versus elapsedtime for a linear television broadcast of a sporting event, inaccordance with an embodiment of the invention. The curve 504illustrates relevance weighting as a function of elapsed time for agiven television device or user. As shown, during the first half of thesporting event the curve 504 is defined so that relevance weightingdeclines over the course of the first half, declining to a minimum valueat half time. The relevance weighting is defined at the minimum valuefor the duration of the half time. At the start of the second half, therelevance weighting is defined at a level similar to that defined at thebeginning of the first half. During the course of the second half, therelevance weighting may actually increase as the play may become moreexciting during the second half when the outcome of the sporting eventis likely to be determined. Towards the end of the second half, therelevance weighting may decline to the minimum value.

Another curve 506 may define the relevance weighting as a function oftime for a television device or user for which a higher preference forthe sporting event is determined to exist. The preference may be apreference for the sport, for one of the teams or players participatingin the event, or some other aspect of the sporting event. As shown, thecurve 506 defines the relevance weighting to be maintained at a levelthat is higher than that of curve 504 throughout the broadcast of thesporting event. During the first and second halves, the relevanceweighting is fairly constant at a high level, and during half time therelevance weighting is defined at level above the minimum value forrelevance weighting.

It should be appreciated that the exemplary relevance curves thusdescribed have been provided by way of example, and not by way oflimitation. In various embodiments, the relevance weighting as afunction of elapsed time can define any curve or sequence of valuesdesigned to predict the likelihood as a function of elapsed time that aviewer of a television device will be interested in a given lineartelevision program.

FIG. 6 illustrates a method for recommending television content for atelevision device, in accordance with an embodiment of the invention. Atmethod operation 600, available television channels for a televisiondevice are identified. At method operation 602, a current date and timeare determined. At method operation 604, a plurality of content itemsthat are broadcast on the available television channels at approximatelythe current date and time are identified. At method operation 606, atelevision profile associated with the television device is determined,the television profile being time-dependent. At method operation 608,recommended content items are determined from the plurality of contentitems based on the television profile of the television device.

The television profile may define a schedule of content preferences.Furthermore, the schedule of content preferences may define a cyclicaltimeline of preference values for each of a plurality of contentcategories. Recommended content items may be determined at least in partby determining current content preferences as defined by the schedule ofcontent preferences for the current date and time, and identifying onesof the plurality of content items matching the current contentpreferences.

The television profile may define an association between a preferredcontent category and both a day of the week and a time of day.

The recommended content items may be determined at least in part byidentifying an elapsed amount of each of the plurality of content itemsthat is already in progress, and determining whether the elapsed amountexceeds a predefined relevance threshold, or determining a relevancefactor based on the elapsed amount.

In one embodiment, a user of the television device can be identified,and a user profile associated to the user of the television device maybe retrieved. The recommended content items may be determined at leastin part based on the user profile. The user profile may be defined basedon internet activity associated with the user.

In one embodiment, samples of content rendered on the television deviceare received. The samples are analyzed to identify watched content itemsassociated with the television device. The television profile can begenerated based on the watched content items. In one embodiment, thesamples are defined by audio portions from the content rendered on thetelevision device, and the audio portions are analyzed to identify thewatched content items associated with the television device.Furthermore, the available television channels can be determined basedon the watched content items.

In one embodiment, the recommendations are provided to an applicationconfigured for execution on the television device. The application maybe unaffiliated with a service provider that provides the televisionchannels to the television device.

FIG. 7 conceptually illustrates a system for providing televisioncontent recommendations, in accordance with an embodiment of theinvention. As shown, a service provider 700 provides data signals toprovide content for viewing on a television 706. The data signals may beencoded with content, and therefore a service provider box 702 can beconfigured to receive the data signals from the service provider, anddecode the data signals to extract specific content. In someembodiments, this process can be characterized as “tuning” to a specifictelevision channel. The service provider box 702 may be configured tooutput video and audio signals for rendering by the television 706. Itshould be appreciated that the service provider box 702 may becharacterized as various types of devices, such as a tuner box, a cablebox, a set top box, a receiver box, and other types of devices which areconfigured to receive data signals from a service provider and decodethem for viewing on a television. Furthermore, the service provider box702 may include various types of functionality, such asrecording/playback of content (DVR functionality), a programming guide,on-demand streaming of content from the service provider, etc. It shouldbe appreciated that in some embodiments, some or all of thefunctionality of service provider box may be included in the televisionitself. For example, televisions often include signal tuners which arecapable of decoding signals to render content from various channels.

The television 706 can be configured to execute applications to provideadditional functionality to the viewer. In one embodiment, theapplication 708 is configured to recommend content for viewing on thetelevision 706. Broadly speaking, the application 708 communicates witha recommendation service 714 to receive content recommendations for thetelevision 706. The recommendation service may access a televisionprofile associated with the television 706, stored in televisionprofiles storage 716. The recommendation service providesrecommendations which are based on the television profile for thetelevision 706. As discussed herein, the television profile can betime-dependent, and may therefore identify different content preferencesassociated with the television 706 depending upon the time of day, theday of the week, or other time-dependent paradigms. The televisionprofiles storage 716 may define a table 720 of television profiles.Merely by way of example, a given television profile may include varioustypes of information, such as an ID, a location, a make, a model,various time-dependent content preferences, and associated users. Itshould be appreciated that there may any number of additional types ofinformation included in a television profile, and that the exemplaryembodiment is provided for illustrative purposes and not by way oflimitation.

Furthermore, the recommendation service 714 can provide contentrecommendations based in part on a user profile associated with anidentified user of the television 706. The user profile can be stored ina user profiles storage 718. In one embodiment, the user profilesstorage 718 defines a table of user profiles. By way of example, a userprofile may be defined by various types of information, such as an ID,an age, a gender, a location, content preferences, income level, etc. Itshould be appreciated that the user profile may include any of variousother kinds of information about a user.

The recommendation service 714 determines recommended content forviewing on the television 706 based on either or both of the televisionprofile associated with the television 706 and the user profileassociated with an identified viewer of the television 706. The contentrecommendations are provided to the application 708 executing on thetelevision 706. The application 708 provides the content recommendationsto the viewer via an interface displayed on the television 706.

Additionally, it will be appreciated that there may be any number oftelevision devices serviced by the recommendation service. For example,another television 710 may be defined, with an associated serviceprovider box 704, and an application 712 executing on the television710. In some instances there may be multiple televisions which arelocated in the same locale, such as a single house. As each televisionmay have its own associated television profile that is time-dependent,it is possible within such a household to provide contentrecommendations based on time-dependent content preferences associatedto each television. By way of example, television 706 might be locatedin a family room of a house, whereas television 710 is located in abedroom of the same house. The viewing preferences as a function of timewill be different for each of the television 706 and the television 710,even though they may be watched by the same user. However, according tothe principles described herein, it is possible to provide appropriaterecommendations based on time-dependent content preferences acrossmultiple televisions. Thus, even if the user is not specificallyidentified, content recommendations which reflect the user's watchinghabits on different televisions at different times can be provided.

Additionally, it will be appreciated that a time-dependent profile maybe shared across multiple television devices. For example, there may bemultiple television devices which are associated to a same user account.It should be appreciated that association of a television to a givenuser account may not be indicative of the actual viewers of thetelevision at any given time, as there may be multiple viewers in ahousehold, all of whom utilize the same television that is associated tothe given user account. However, a time-dependent device profile can bedefined collectively for the multiple television devices which areassociated to the user account. In this manner, the time-dependentdevice profile is applied to effect content recommendations on any oneof the multiple television devices.

Furthermore, a time-dependent device profile can be transferred frombeing associated with a first television to being associated with asecond television. For example, if a user buys a new television andwishes to retain the time-dependent device profile that has been builtup over time for his/her old television, then the existingtime-dependent device profile for the old television can be reassignedto the new television. In this manner, the user may enjoy continuity interms of content recommendations based on their existing time-dependentdevice profile.

FIG. 8 illustrates a system for recommending content for viewing on atelevision device, in accordance with an embodiment of the invention. Auser 800 views content on a television 802. The television 802 isconfigured to execute an application 804 that provides an interface forpresenting recommended content items on the television 802. A viewinghistory of the television 802 which identifies content items that havebeen viewed on the television 802 and the times at which such contentitems were viewed is stored in a view history storage 806. The viewinghistory of the television 802 can be analyzed by a view history analyzer808 to determine a device profile associated with the television 802that is stored in a device profile storage 810. As discussed elsewhereherein, the device profile can identify time-dependent contentpreferences associated with the television 802. Thus, the view historyanalyzer 808 can be configured to analyze the viewing history of thetelevision 802 to identify the time-dependent content preferences. Thesemay be identified in part based on identification of recurring patternsof content viewing. The analysis may entail analysis of any aspect,type, or other metadata classification according to which identifiedviewed content can be classified. Content preferences may identifyspecific content items, such as specific shows or movies, as well asmore generic classifications, such as certain genres of content.

The device profile may also identify channels which are available forviewing on the television. In one embodiment, the view history analyzer808 is configured to analyze the viewing history of the television inorder to identify available channels and sources of content. Forexample, there may be a linear television content index 820 whichcontains information about programming available on various televisionchannels. The linear television content index may contain informationretrieved from a television listings source 822. The television listingssource can be defined by a listings provider, a signal provider, or anyother source of information about available linear television content.For a given linear television program or content item, such informationmay include a title, broadcast date and times (start and end times), achannel on which the program is broadcast, duration/length (runningtime), a summary, actors, a director, a genre, a screenshot, a season,an episode number, a date of first airing, etc.

An on-demand content index 824 contains information about availableon-demand content. Such information may be retrieved from an on-demandcontent source 826, which may be defined by an on-demand contentprovider or other source of such information. The information caninclude data similar to that described above with reference to thelinear television content index (excepting a television channel andbroadcast time, as these generally do not apply to on-demand content). Aweb content index 828 contains information about available web content,which may be retrieved from a web content source 830.

The recommendation engine 812 is configured to recommend content fromthe available content as identified in the linear television contentindex 820, the on-demand content index 824, and the web content index828. The recommendation engine 812 can evaluate the available contentbased on the content preferences defined at the current date and time inaccordance with the time-dependent device profile associated with thetelevision 802. In one embodiment, the recommendation engine isconfigured to rank available content items based on the current contentpreferences. The top-ranked available content items (possibly subject toconstraints) can be identified as content recommendations for thetelevision 802. The content recommendations are transmitted to theapplication 804 for presentation on the television 802 to the user 800.

It may be possible to identify the user 800 of the television 802, andaccordingly, a user profile associated with the user 800 can bedetermined. The user profile can be generated/updated by a web activityanalyzer which analyzes web activity of the user stored in a webactivity storage 816. The user profile can be stored in a user profilestorage 814. The user profile may define any of various aspects of theuser, such as demographic information, content preferences, and otherkinds of information about the user. When a user is identified who hasan associated user profile, the recommendation engine can be configuredto determine the content recommendations based at least in part on theuser profile, in addition to the device profile previously described. Itwill be appreciated that a user profile may capture additionalpreferences of the user that may not be fully realized from the deviceprofile alone, and therefore application of the user profile forpurposes of determining recommended content for viewing on thetelevision can yield more comprehensive recommendations than wouldotherwise be possible based on the device profile alone.

It is generally contemplated that the systems described with referenceto FIGS. 7 and 8 can be implemented across various types ofclient/server architectures, wherein the application executing on thetelevision device functions as a client within such architectures, andaccesses the additional components and resources described herein overone or more networks. Such networks can include any type of network,including local and wide-area networks, wired and wireless networks,etc. Furthermore, the various components and functionality thusdescribed can be flexibility distributed across such networks, withoutlimitation. It will be appreciated that there can be many clienttelevision devices having applications defined thereon that are servicedby a remote recommendation service/engine. In alternative embodiments,it is noted that some of the functionality described herein can beincluded in or otherwise performed by the application executing on thetelevision device.

FIG. 9A illustrates a system for recommending content for viewing on atelevision device, in accordance with an embodiment of the invention.The television 900 includes a receiver configured to receive channelsthrough which content is presented. The television 900 is alsoconfigured to execute an application 906 which presents contentrecommendations to a viewer. The application 906 interfaces with arecommendation engine 908 which provides the content recommendations tothe application 906 for presentation. The recommendation engine 908 isconfigured to receive a current date and time from a clock 910, and adevice profile 912, and generate in response a recommendation of contentitems for viewing. The recommendation engine utilizes information aboutavailable content items for viewing from a listings source 914. Theavailable content items can include content items which are currentlyon-air/in-progress, and or which will be broadcast shortly (e.g. withinthe next 10 minutes). In some embodiments, the available content itemsinclude content items which will be broadcast at a later time than thecurrent date and time. If such content is recommended to the user, thenthe user may thus be informed of its future airing ahead of time, sothat the user may plan to watch it or record it.

It should be appreciated that in various embodiments the functionalitydescribed herein may be embodied in different portions of a system whichmay be included within, local to, or remote from, a television device.For example, FIG. 9B illustrates a system for recommending content forviewing on a television, in accordance with an embodiment of theinvention. As shown, the television 920 includes an application 922which is configured to present content recommendations to the viewer onthe television 920. The application 924 includes a recommendation engine924 that is configured to generate content recommendations based on thecurrent time and date provided by a clock 926, and a device profile 928stored at the television 920 in a storage device. The recommendationengine 924 may access a listings service 930 to retrieve listings datawhich describes content items that are available for viewing on thetelevision 920.

FIG. 10 conceptually illustrates a method for presenting contentrecommendations to a viewer of a television device, in accordance withan embodiment of the invention. As shown, various types of content canbe ranked for purposes of recommendation. For example, various broadcasttelevision content items (ref. 1000) may be ranked in the followingorder of priority for purposes of recommendation: TV_(A), TV_(B),TV_(C), TV_(D), etc. In other words, if broadcast television content isto be recommended to the user, then the broadcast television contentitem TV_(A) is ranked first for recommendation followed by TV_(B),TV_(C), TV_(D), etc. Similarly, as shown, various on-demand contentitems (ref. 1002) may be ranked in the following order of priority forpurposes of recommendation: OD_(A), OD_(B), OD_(C), OD_(D), etc. Andvarious Internet content items (ref. 1004) may be ranked as follows:I_(A), I_(B), I_(C), I_(D), etc. The ranked order determines thepriority given to a given content item within its content class(broadcast television, on-demand, or Internet). Thus, for example, ifthe top three content items from each class are to be recommended to auser, then the user will be presented with broadcast television contentitems TV_(A), TV_(B), and TV_(C), on-demand content items OD_(A),OD_(B), and OD_(C), and Internet content items I_(A), I_(B), and I_(C).

However, in some embodiments, the relative amount of a given contentclass/type that is recommended to the user may vary. For example, if auser tends to view mostly broadcast television content, but very littleInternet content, then it may be desirable to recommend comparativelyfewer Internet content items relative to broadcast television contentitems. The aforementioned device profile may be configured to definepreferences for different content classes in a time-dependent manner.For example, a user may tend to watch on-demand content in the eveningsmore than at any other time, and therefore the device profile of theuser's television may define a corresponding preference for on-demandcontent that is increased in the evenings relative to other times. Itshould be appreciated that such preferences may be defined asconfigurable weights, as discreet settings, or any other value or dataitem which may define such preferences.

In accordance with the foregoing principles, a relative amount for eachof various content types to be recommended can be determined (ref.1006). Based on these relative amounts, then the ranked content itemscan be assigned to various placement locations (ref. 1008) within apredefined presentation template 1010. The presentation template 1010defines the format for a user interface to present recommended contentitems to a viewer for selection. In the illustrated embodiment, therelative amounts of each content type have been determined such thatfive broadcast television content items, three on-demand content items,and one Internet content item, will be assigned to the placementlocations of the template 1010. The content items for a given contenttype are prioritized for assignment in accordance with their previouslydetermined ranked order. In other words, the highest ranking contentitems of a given content type are assigned to placement locations withinthe template until the allotted number of placement locations for thegiven content type are filled. It will be appreciated that the relativeamounts of such content types may vary in accordance with currentpreferences as defined by the television's corresponding device profile.Furthermore, it is noted that the arrangement or orientation of variousplacement locations within the presentation template may be defined tohave a prioritization or order according to which ranked content itemswill be assigned.

FIG. 11A illustrates an interface displaying recommended content itemsfor viewing on a television device, in accordance with an embodiment ofthe invention. In the illustrated interface, selection options areprovided for viewing various kinds of content, including options to view“All” types of content (ref. 1100), “TV” (ref. 1102), “Movies” (ref.1104), and “Web Video” (ref. 1106). In the illustrated embodiment, the“All” option is currently displayed, and thus, recommended content ispresented from all available types of content. Various selectablegraphic icons/creatives indicating respective content items are placedat various locations within the interface, including, for example, icon1108, icon 1104, and icon 1112. For each content item thus represented,a title is provided, as well as length/duration of the content item, andif it is already in-progress, then the amount of time remaining. In theillustrated embodiment, the icon 1104 is currently highlighted,indicating that the user may initiate viewing of the respective contentitem by indicating selection (e.g. pressing a play/select/enter buttonon a remote control device).

In one embodiment, the interface may include multiple pages of contentrecommendations. Accordingly, a page navigation icon (e.g. arrow 1114)can be selected to shift the view to another page providing access toadditional recommended content. FIG. 11B illustrates a second page ofthe interface of FIG. 11A, displaying additional recommended contentitems for viewing on the television device, in accordance with anembodiment of the invention.

In the illustrated embodiment, the various content categorizations ofTV, Movies, and Web Video, can be construed as identifying the nature ofthe content itself rather than the source of its presentation. Forexample, TV content may encompass television shows or series, which aregenerally defined by a number of episodes that may further be organizedinto seasons. Such TV content may be broadcast on a television channel,or made available through an on-demand video service, by way of exampleand not limitation. Similarly, movie content may encompass any movieavailable for viewing on the television, including movies broadcast onlinear television channels, as well as movies presented through anon-demand video service.

In yet another embodiment, content can be available for recommendationand viewing from a DVR. Such content can be recommended in accordancewith the principles described herein.

FIG. 12A illustrates presentation of supplemental content related tocurrently displayed content on a television, in accordance with anembodiment of the invention. In the illustrated embodiment, a baseballgame is currently displayed on the television. In accordance withembodiments of the invention, the content being currently displayed onthe television can be identified, and supplemental content related tothe displayed content can be presented to the viewer. For example, inthe illustrated embodiment, at the current time during the presentationof the baseball game, a matchup between a batter and a pitcher is beingcurrently shown. Based on identification of the current time ofpresentation of the baseball game, and consequent identification of thebatter and pitcher, information relating to each player may bepresented. As shown, at reference 1200, information about the batter isdisplayed, including a picture of the batter and various statistics. Atreference 1202, information about the pitcher is shown, including apicture of the pitcher and various statistics.

In the illustrated embodiment, the statistics of the batter arecurrently highlighted, as indicated by the outline 1204, therebyindicating that the viewer may select the highlighted portion (e.g. bypressing a select/enter button on a remote control) to access additionalinformation. FIG. 12B illustrates the result of selection of thehighlighted portion, in accordance with an embodiment of the invention.As shown at FIG. 12B, an expanded presentation of statistics relating tothe batter is thereby displayed at reference 1204.

FIG. 13 illustrates scores from various baseball games displayed duringa baseball game, in accordance with an embodiment of the invention. Abaseball game is in progress and currently displayed on the television.As has been described, the content currently being displayed can beidentified and related supplemental content can be presented. In theillustrated embodiment, scores of various baseball games are displayedin the lower portion of the display, as indicated at reference 1300.

FIG. 14A illustrates social media information displayed in relation tocontent currently displayed on a television, in accordance with anembodiment of the invention. In the illustrated embodiment, a baseballgame is currently displayed on the television. At the lower portion ofthe display, social media information related to the baseball game isdisplayed at reference 1400. In one embodiment, the social mediainformation can include posts to a social network, such as a Twitter™post or a Facebook™ post. A selectable panel is shown at reference 1402,which when selected provides access to additional social mediainformation. Selection of the panel results in the view shown at FIG.14B. As shown, the view of social media posts has been expanded to showseveral social media posts. In the illustrated embodiment, a number ofTwitter™ posts are presented in the expanded view.

FIG. 15A illustrates a singing competition television program that isdisplayed on a television with related supplemental content, inaccordance with an embodiment of the invention. In the illustratedembodiment, a song that is sung on the show has been detected, andconsequently, in a panel 1500 at the lower left of the display, it isindicated that a song has been detected. Information such as the titleand artist associated with the song is provided. In a panel 1502 at thelower right of the display, a news headline relating to the televisionprogram is displayed.

It will be appreciated that each of the panels 1500 and 1502 may beselected to reveal additional information. For example, selection ofpanel 1500 results in the view shown at FIG. 15B, wherein in an expandedpanel 1504, options for the viewer to obtain the song are provided, andinformation about additional related songs are displayed. With continuedreference to FIG. 15A, selection of panel 1502 results in the view shownat FIG. 15C, wherein an expanded panel 1506 is shown, revealingadditional detailed information relating to the headline displayed atpanel 1502 (e.g. headline and body of article that is related to thetelevision show).

Though song detection is provided in the context of a singingcompetition television program, it will be appreciated that songdetection can be active during any type of content presentation on thetelevision. Songs can be detected based on analysis of audio samples.Detected songs can be indicated to the viewer during presentation ofcontent including such songs. Options can be provided for the viewer topurchase a detected song or otherwise add it to a music libraryassociated with the viewer or the television device.

FIG. 16A illustrates supplemental content displayed in conjunction witha television program, in accordance with an embodiment of the invention.In the illustrated embodiment, various selectable icons featuringdifferent types of content are overlayed upon a television display. Byway of example, an icon 1600 features a screenshot of an on-demand videowhich can be accessed by selection of the icon 1600. An icon 1602illustrates a current news headline, and may be selected to access amore detailed version of the news story. An icon 1604 provides access toanother on-demand video, and is currently highlighted amongst the icons,indicating that it may be selected by, for example, pressing aselect/enter button on a remote control or otherwise indicatingselection through an input mechanism. An icon 1606 illustrates anotherheadline of a news story. And icon 1608 illustrates the stock price of acompany. From the interface view illustrated by FIG. 16A, the viewer mayhide the interface icons by, for example, pressing a “down” button on aremote control. In the alternative, the viewer may access a full-screeninterface view shown at FIG. 16B by, for example, pressing an “up”button on a remote control.

FIG. 16B illustrates a full-screen interface providing access to variouscontent that is rendered on a television, in accordance with anembodiment of the invention. As shown, there are various types ofcontent accessible through the interface, including news stories,videos, weather information, stock information, traffic information,etc. It should be appreciated that such content can be localized basedon the location of the television/user.

FIG. 17 illustrates an embodiment of a general computer systemdesignated 1700. The computer system 1700 can include a set ofinstructions that can be executed to cause the computer system 1700 toperform any one or more of the methods or computer based functionsdisclosed herein. The computer system 1700 may operate as a standalonedevice or may be connected, e.g., using a network, to other computersystems or peripheral devices.

In a networked deployment, the computer system 1700 may operate in thecapacity of a server or as a client user computer in a server-clientuser network environment, or as a peer computer system in a peer-to-peer(or distributed) network environment. The computer system 1700 can alsobe implemented as or incorporated into various devices, such as apersonal computer (PC), a tablet PC, a set-top box (STB), a personaldigital assistant (PDA), a mobile device, a palmtop computer, a laptopcomputer, a desktop computer, a communications device, a wirelesstelephone, a land-line telephone, a control system, a camera, a scanner,a facsimile machine, a printer, a pager, a personal trusted device, aweb appliance, a network router, switch or bridge, or any other machinecapable of executing a set of instructions (sequential or otherwise)that specify actions to be taken by that machine. In a particularembodiment, the computer system 1700 can be implemented using electronicdevices that provide voice, video or data communication. Further, whilea single computer system 1700 is illustrated, the term “system” shallalso be taken to include any collection of systems or sub-systems thatindividually or jointly execute a set, or multiple sets, of instructionsto perform one or more computer functions.

As illustrated in FIG. 17, the computer system 1700 may include aprocessor 1702, e.g., a central processing unit (CPU), a graphicsprocessing unit (GPU), or both. The processor 1702 may be a component ina variety of systems. For example, the processor 1702 may be part of astandard personal computer or a workstation. The processor 1702 may beone or more general processors, digital signal processors, applicationspecific integrated circuits, field programmable gate arrays, servers,networks, digital circuits, analog circuits, combinations thereof, orother now known or later developed devices for analyzing and processingdata. The processor 1702 may implement a software program, such as codegenerated manually (i.e., programmed).

The computer system 1700 may include a memory 1704 that can communicatevia a bus 1708. The memory 1704 may be a main memory, a static memory,or a dynamic memory. The memory 1704 may include, but is not limited tocomputer readable storage media such as various types of volatile andnon-volatile storage media, including but not limited to random accessmemory, read-only memory, programmable read-only memory, electricallyprogrammable read-only memory, electrically erasable read-only memory,flash memory, magnetic tape or disk, optical media and the like. In oneembodiment, the memory 1704 includes a cache or random access memory forthe processor 1702. In alternative embodiments, the memory 1704 isseparate from the processor 1702, such as a cache memory of a processor,the system memory, or other memory. The memory 1704 may be an externalstorage device or database for storing data. Examples include a harddrive, compact disc (“CD”), digital video disc (“DVD”), memory card,memory stick, floppy disc, universal serial bus (“USB”) memory device,or any other device operative to store data. The memory 1704 is operableto store instructions executable by the processor 1702. The functions,acts or tasks illustrated in the figures or described herein may beperformed by the programmed processor 1702 executing the instructionsstored in the memory 1704. The functions, acts or tasks are independentof the particular type of instructions set, storage media, processor orprocessing strategy and may be performed by software, hardware,integrated circuits, firm-ware, micro-code and the like, operating aloneor in combination. Likewise, processing strategies may includemultiprocessing, multitasking, parallel processing and the like.

As shown, the computer system 1700 may further include a display unit1710, such as a liquid crystal display (LCD), an organic light emittingdiode (OLED), a flat panel display, a solid state display, a cathode raytube (CRT), a projector, a printer or other now known or later developeddisplay device for outputting determined information. The display 1710may act as an interface for the user to see the functioning of theprocessor 1702, or specifically as an interface with the software storedin the memory 1704 or in the drive unit 1716.

Additionally or alternatively, the computer system 1700 may include aninput device 1712 configured to allow a user to interact with any of thecomponents of system 1700. The input device 1712 may be a number pad, akeyboard, or a cursor control device, such as a mouse, or a joystick,touch screen display, remote control or any other device operative tointeract with the computer system 1700.

The computer system 1700 may also or alternatively include a disk oroptical drive unit 1716. The disk drive unit 1716 may include acomputer-readable medium 1722 in which one or more sets of instructions1724, e.g. software, can be embedded. Further, the instructions 1724 mayembody one or more of the methods or logic as described herein. Theinstructions 1724 may reside completely or partially within the memory1704 and/or within the processor 1702 during execution by the computersystem 1700. The memory 1704 and the processor 1702 also may includecomputer-readable media as discussed above.

In some systems, a computer-readable medium 1722 includes instructions1724 or receives and executes instructions 1724 responsive to apropagated signal so that a device connected to a network 1726 cancommunicate voice, video, audio, images or any other data over thenetwork 1726. Further, the instructions 1724 may be transmitted orreceived over the network 1726 via a communication port or interface1720, and/or using a bus 1708. The communication port or interface 1720may be a part of the processor 1702 or may be a separate component. Thecommunication port 1720 may be created in software or may be a physicalconnection in hardware. The communication port 1720 may be configured toconnect with a network 1726, external media, the display 1710, or anyother components in system 1700, or combinations thereof. The connectionwith the network 1726 may be a physical connection, such as a wiredEthernet connection or may be established wirelessly as discussed below.Likewise, the additional connections with other components of the system1700 may be physical connections or may be established wirelessly. Thenetwork 1726 may alternatively be directly connected to the bus 1708.

While the computer-readable medium 1722 is shown to be a single medium,the term “computer-readable medium” may include a single medium ormultiple media, such as a centralized or distributed database, and/orassociated caches and servers that store one or more sets ofinstructions. The term “computer-readable medium” may also include anymedium that is capable of storing, encoding or carrying a set ofinstructions for execution by a processor or that cause a computersystem to perform any one or more of the methods or operations disclosedherein. The computer-readable medium 1722 may be non-transitory, and maybe tangible.

The computer-readable medium 1722 can include a solid-state memory suchas a memory card or other package that houses one or more non-volatileread-only memories. The computer-readable medium 1722 can be a randomaccess memory or other volatile re-writable memory. Additionally oralternatively, the computer-readable medium 1722 can include amagneto-optical or optical medium, such as a disk or tapes or otherstorage device to capture carrier wave signals such as a signalcommunicated over a transmission medium. A digital file attachment to ane-mail or other self-contained information archive or set of archivesmay be considered a distribution medium that is a tangible storagemedium. Accordingly, the disclosure is considered to include any one ormore of a computer-readable medium or a distribution medium and otherequivalents and successor media, in which data or instructions may bestored.

In an alternative embodiment, dedicated hardware implementations, suchas application specific integrated circuits, programmable logic arraysand other hardware devices, can be constructed to implement one or moreof the methods described herein. Applications that may include theapparatus and systems of various embodiments can broadly include avariety of electronic and computer systems. One or more embodimentsdescribed herein may implement functions using two or more specificinterconnected hardware modules or devices with related control and datasignals that can be communicated between and through the modules, or asportions of an application-specific integrated circuit. Accordingly, thepresent system encompasses software, firmware, and hardwareimplementations.

The computer system 1700 may be connected to one or more networks 1726.The network 1726 may define one or more networks including wired orwireless networks. The wireless network may be a cellular telephonenetwork, an 802.11, 802.16, 802.20, or WiMax network. Further, suchnetworks may include a public network, such as the Internet, a privatenetwork, such as an intranet, or combinations thereof, and may utilize avariety of networking protocols now available or later developedincluding, but not limited to TCP/IP based networking protocols. Thenetwork 1726 may include wide area networks (WAN), such as the Internet,local area networks (LAN), campus area networks, metropolitan areanetworks, a direct connection such as through a Universal Serial Bus(USB) port, or any other networks that may allow for data communication.The network 1726 may be configured to couple one computing device toanother computing device to enable communication of data between thedevices. The network 1726 may generally be enabled to employ any form ofmachine-readable media for communicating information from one device toanother. The network 1726 may include communication methods by whichinformation may travel between computing devices. The network 1726 maybe divided into sub-networks. The sub-networks may allow access to allof the other components connected thereto or the sub-networks mayrestrict access between the components. The network 1726 may be regardedas a public or private network connection and may include, for example,a virtual private network or an encryption or other security mechanismemployed over the public Internet, or the like.

In accordance with various embodiments of the present disclosure, themethods described herein may be implemented by software programsexecutable by a computer system. Further, in an exemplary, non-limitedembodiment, implementations can include distributed processing,component/object distributed processing, and parallel processing.Alternatively, virtual computer system processing can be constructed toimplement one or more of the methods or functionality as describedherein.

Although the present specification describes components and functionsthat may be implemented in particular embodiments with reference toparticular standards and protocols, the invention is not limited to suchstandards and protocols. For example, standards for Internet and otherpacket switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP)represent examples of the state of the art. Such standards areperiodically superseded by faster or more efficient equivalents havingessentially the same functions. Accordingly, replacement standards andprotocols having the same or similar functions as those disclosed hereinare considered equivalents thereof.

The above disclosed subject matter is to be considered illustrative, andnot restrictive, and the appended claims are intended to cover all suchmodifications, enhancements, and other embodiments, which fall withinthe true spirit and scope of the present invention. Thus, to the maximumextent allowed by law, the scope of the present invention is to bedetermined by the broadest permissible interpretation of the followingclaims and their equivalents, and shall not be restricted or limited bythe foregoing detailed description. While various embodiments of theinvention have been described, it will be apparent to those of ordinaryskill in the art that many more embodiments and implementations arepossible within the scope of the invention. Accordingly, the inventionis not to be restricted except in light of the attached claims and theirequivalents.

What is claimed is:
 1. A method for recommending television content,comprising: receiving, at a server, samples of content rendered on atelevision device, said content being accessed from a service providervia the television device, the samples of content being received over anetwork from an application that executes on the television device, theapplication being unaffiliated with the service provider; analyzing thesamples to identify watched content items associated with the televisiondevice; generating a device profile based on the watched content items,the device profile being time-dependent and associated with thetelevision device; determining available television channels based onthe watched content items, the available television channels being madeaccessible to the television device by the service provider, whereindetermining the available television channels includes analyzing thewatched content items to determine a subscription with the serviceprovider that is associated with the television device; identifying theavailable television channels for the television device; determining acurrent date and time; identifying a plurality of content itemsbroadcast on the available television channels at approximately thecurrent date and time; identifying recommended content items from theplurality of content items based on the device profile of the televisiondevice, the recommended content items defined for rendering on thetelevision device; wherein identifying recommended content itemsincludes identifying an elapsed amount of each of the plurality ofcontent items that is already in progress, and determining a relevancefactor based on the elapsed amount, the relevance factor that is basedon the elapsed amount of a given content item being variable based upona genre of the given content item; providing recommendations identifyingthe recommended content items over the network to the application forrendering as an overlay over the content rendered on the televisiondevice; wherein the method is executed by at least one processor.
 2. Themethod of claim 1, wherein the device profile defines a time-dependentschedule of content preferences; wherein determining recommended contentitems includes determining current content preferences as defined by thetime-dependent schedule of content preferences for the current date andtime, and identifying ones of the plurality of content items matchingthe current content preferences.
 3. The method of claim 2, wherein thetime-dependent schedule of content preferences defines a cyclicaltimeline of preference values for each of a plurality of contentcategories.
 4. The method of claim 1, wherein the device profile definesan association between a preferred content category and both a day ofthe week and a time of day.
 5. The method of claim 1, whereindetermining the relevance factor includes determining whether theelapsed amount exceeds a predefined relevance threshold that is setbased upon the genre of the given content item.
 6. The method of claim1, further comprising, identifying a user of the television device;retrieving a user profile associated to the user of the televisiondevice; wherein determining recommended content items is based on theuser profile.
 7. The method of claim 6, wherein the user profile isdefined based on internet activity associated with the user.
 8. Themethod of claim 1, wherein the samples are defined by audio portionsfrom the content rendered on the television device; wherein analyzingthe samples includes analyzing the audio portions to identify thewatched content items associated with the television device.
 9. Asystem, comprising: a television, including a receiver capable ofreceiving a plurality of channels from a service provider, each channelproviding a plurality of television content items; a non-transitorymemory connected to the television, including: a user profile associatedwith the television, the user profile defining a time-dependent scheduleof content preferences, wherein the user profile is defined based oninternet activity associated with the user, the internet activityincluding interaction with internet content presented through anapplication configured for execution on the television; and programlogic, including a clock supplying a date and a time; a user profilegenerator that receives samples of content rendered on the television,analyzes the samples to identify watched content items associated withthe television, and generates the user profile based on the watchedcontent items, wherein the user profile generator analyzes the watchedcontent items to determine a subscription with the service provider thatis associated with the television; a recommendation engine that receivesthe date and time and the user profile and generates in response arecommendation of at least one television content item, wherein therecommendation engine determines current content preferences as definedby the time-dependent schedule of content preferences for the date andtime, and identifies one or more of the plurality of television contentitems matching the current content preferences; wherein therecommendation engine identifies an elapsed amount of each of theplurality of content items that is already in progress, and determines arelevance factor based on the elapsed amount, the relevance factor thatis based on the elapsed amount for a given content item being variablebased upon the time-dependent schedule of content preferences.
 10. Thesystem of claim 9, wherein the schedule of content preferences defines acyclical timeline of preference values for each of a plurality ofcontent categories.
 11. The system of claim 9, wherein the user profiledefines an association between a preferred content category and both aday of the week and a time of day.
 12. The system of claim 9, whereindetermining the relevance factor includes determining whether theelapsed amount exceeds a predefined relevance threshold that is setbased on the time-dependent schedule of content preferences.
 13. Thesystem of claim 9, wherein the samples are defined by audio portionsfrom the content rendered on the television; wherein the device profilegenerator analyzes the audio portions to identify the watched contentitems associated with the television.
 14. The system of claim 9, whereinthe user profile identifies the plurality of channels.
 15. The system ofclaim 9, wherein the recommendation engine transmits the recommendationof at least one television content item to an application configured forexecution on the television, the application being unaffiliated with aservice provider that provides the television channels to thetelevision.